package hu.debrecen.adastra.card.service;

import hu.debrecen.adastra.card.service.domain.Card;
import hu.debrecen.adastra.card.service.impl.ZsirozasCardGame.Action;
import hu.debrecen.adastra.card.web.domain.AbstractGameStateVO;
import hu.debrecen.adastra.card.web.domain.HandCardVO;

import java.util.Arrays;
import java.util.List;

import org.codehaus.jackson.annotate.JsonProperty;

import com.google.common.collect.Lists;

public class WaitingGameStateVO extends AbstractGameStateVO {

	private static final long serialVersionUID = 1L;

	public WaitingGameStateVO(final Action action) {
		this.setActions(Arrays.asList(action.name()));
	}

	@Override
	@JsonProperty("f")
	public Boolean isFinished() {
		return false;
	}

	@Override
	@JsonProperty("h")
	public List<HandCardVO> getHand() {
		return Lists.newLinkedList();
	}

	@Override
	@JsonProperty("c")
	public boolean getCaller() {
		return false;
	}

	@Override
	@JsonProperty("t")
	public List<Card> getTable() {
		return Lists.newLinkedList();
	}

	@Override
	@JsonProperty("a")
	public List<String> getActions() {
		return super.getActions();
	}

}
